package com.ruoyi.energy.domain;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 设备信息对象 ems_device
 * 
 * @author ruoyi
 * @date 2024-01-20
 */
public class EmsDevice extends BaseEntity {
    
    private static final long serialVersionUID = 1L;

    /** 设备ID */
    private Long deviceId;

    /** 设备编码 */
    @Excel(name = "设备编码")
    private String deviceCode;

    /** 设备名称 */
    @Excel(name = "设备名称")
    private String deviceName;

    /** 设备类型 */
    @Excel(name = "设备类型")
    private String deviceType;

    /** 能源类型（1电 2水 3气） */
    @Excel(name = "能源类型", readConverterExp = "1=电力,2=水力,3=燃气")
    private String energyType;

    /** 设备型号 */
    @Excel(name = "设备型号")
    private String deviceModel;

    /** 设备位置 */
    @Excel(name = "设备位置")
    private String location;

    /** 所属部门 */
    @Excel(name = "所属部门")
    private Long deptId;

    /** 设备状态（0正常 1停用） */
    @Excel(name = "设备状态", readConverterExp = "0=正常,1=停用")
    private String status;

    /** 制造商 */
    @Excel(name = "制造商")
    private String manufacturer;

    /** 出厂日期 */
    @Excel(name = "出厂日期", width = 30, dateFormat = "yyyy-MM-dd")
    private String manufactureDate;

    /** 安装日期 */
    @Excel(name = "安装日期", width = 30, dateFormat = "yyyy-MM-dd")
    private String installDate;

    /** 额定功率(kW) */
    @Excel(name = "额定功率")
    private String ratedPower;

    /** 额定电压(V) */
    @Excel(name = "额定电压")
    private String ratedVoltage;

    /** 额定电流(A) */
    @Excel(name = "额定电流")
    private String ratedCurrent;

    /** 管径(mm) - 水表专用 */
    @Excel(name = "管径")
    private String pipeDiameter;

    /** 最大流量(m³/h) - 水表专用 */
    @Excel(name = "最大流量")
    private String maxFlowRate;

    /** 工作压力(MPa) - 水表专用 */
    @Excel(name = "工作压力")
    private String workingPressure;

    /** 最大燃气流量(m³/h) - 气表专用 */
    @Excel(name = "最大燃气流量")
    private String maxGasFlow;

    /** 工作燃气压力(kPa) - 气表专用 */
    @Excel(name = "工作燃气压力")
    private String workingGasPressure;

    /** 燃气类型 - 气表专用 */
    @Excel(name = "燃气类型")
    private String gasType;

    public void setDeviceId(Long deviceId) {
        this.deviceId = deviceId;
    }

    public Long getDeviceId() {
        return deviceId;
    }

    public void setDeviceCode(String deviceCode) {
        this.deviceCode = deviceCode;
    }

    public String getDeviceCode() {
        return deviceCode;
    }

    public void setDeviceName(String deviceName) {
        this.deviceName = deviceName;
    }

    public String getDeviceName() {
        return deviceName;
    }

    public void setDeviceType(String deviceType) {
        this.deviceType = deviceType;
    }

    public String getDeviceType() {
        return deviceType;
    }

    public void setDeviceModel(String deviceModel) {
        this.deviceModel = deviceModel;
    }

    public String getDeviceModel() {
        return deviceModel;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public String getLocation() {
        return location;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getStatus() {
        return status;
    }

    public void setManufacturer(String manufacturer) {
        this.manufacturer = manufacturer;
    }

    public String getManufacturer() {
        return manufacturer;
    }

    public void setManufactureDate(String manufactureDate) {
        this.manufactureDate = manufactureDate;
    }

    public String getManufactureDate() {
        return manufactureDate;
    }

    public void setInstallDate(String installDate) {
        this.installDate = installDate;
    }

    public String getInstallDate() {
        return installDate;
    }

    public void setRatedPower(String ratedPower) {
        this.ratedPower = ratedPower;
    }

    public String getRatedPower() {
        return ratedPower;
    }

    public void setRatedVoltage(String ratedVoltage) {
        this.ratedVoltage = ratedVoltage;
    }

    public String getRatedVoltage() {
        return ratedVoltage;
    }

    public void setRatedCurrent(String ratedCurrent) {
        this.ratedCurrent = ratedCurrent;
    }

    public String getRatedCurrent() {
        return ratedCurrent;
    }

    public void setEnergyType(String energyType) {
        this.energyType = energyType;
    }

    public String getEnergyType() {
        return energyType;
    }

    public void setPipeDiameter(String pipeDiameter) {
        this.pipeDiameter = pipeDiameter;
    }

    public String getPipeDiameter() {
        return pipeDiameter;
    }

    public void setMaxFlowRate(String maxFlowRate) {
        this.maxFlowRate = maxFlowRate;
    }

    public String getMaxFlowRate() {
        return maxFlowRate;
    }

    public void setWorkingPressure(String workingPressure) {
        this.workingPressure = workingPressure;
    }

    public String getWorkingPressure() {
        return workingPressure;
    }

    public void setMaxGasFlow(String maxGasFlow) {
        this.maxGasFlow = maxGasFlow;
    }

    public String getMaxGasFlow() {
        return maxGasFlow;
    }

    public void setWorkingGasPressure(String workingGasPressure) {
        this.workingGasPressure = workingGasPressure;
    }

    public String getWorkingGasPressure() {
        return workingGasPressure;
    }

    public void setGasType(String gasType) {
        this.gasType = gasType;
    }

    public String getGasType() {
        return gasType;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("deviceId", getDeviceId())
            .append("deviceCode", getDeviceCode())
            .append("deviceName", getDeviceName())
            .append("deviceType", getDeviceType())
            .append("energyType", getEnergyType())
            .append("deviceModel", getDeviceModel())
            .append("location", getLocation())
            .append("deptId", getDeptId())
            .append("status", getStatus())
            .append("manufacturer", getManufacturer())
            .append("manufactureDate", getManufactureDate())
            .append("installDate", getInstallDate())
            .append("ratedPower", getRatedPower())
            .append("ratedVoltage", getRatedVoltage())
            .append("ratedCurrent", getRatedCurrent())
            .append("pipeDiameter", getPipeDiameter())
            .append("maxFlowRate", getMaxFlowRate())
            .append("workingPressure", getWorkingPressure())
            .append("maxGasFlow", getMaxGasFlow())
            .append("workingGasPressure", getWorkingGasPressure())
            .append("gasType", getGasType())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
} 